/*
 * DatosEntrada.cpp
 *
 *  Created on: 05/07/2011
 *      Author: manu
 */

#include "DatosEntrada.h"

DatosEntrada * DatosEntrada::pinstance=0;


DatosEntrada::DatosEntrada() {


}
DatosEntrada * DatosEntrada::InstanceDatosEntrada(){
	     		  if (pinstance == NULL)  // ¿Es la primera llamada?
	     		  {
	     			 pinstance = new DatosEntrada(); // Creamos la instancia
	     		  }
	     		  return pinstance; // Retornamos la dirección de la instancia
}

string DatosEntrada::getArchivo() const
{
    return archivo;
}

string DatosEntrada::getIpCliente() const
{
    return ipCliente;
}

string DatosEntrada::getIpServidor() const
{
    return ipServidor;
}

string DatosEntrada::getInterface() const
{
    return interface;
}

void DatosEntrada::setArchivo(string archivo)
{
    this->archivo = archivo;
}

void DatosEntrada::setIpCliente(string ipCliente)
{
    this->ipCliente = ipCliente;
}

void DatosEntrada::setInterface(string interface)
{
	this->interface = interface;
}

string DatosEntrada::getPuerto() const
{
    return puerto;
}

void DatosEntrada::setPuerto(string puerto)
{
    this->puerto = puerto;
}

void DatosEntrada::setIpServidor(string ipServidor)
{
    this->ipServidor = ipServidor;
}

void DatosEntrada::refrescar(string archivo){
	fstream in;
	in.open(archivo.c_str(),ios::in | ios::binary);
	string cad;
	in>>cad;
	DatosEntrada::InstanceDatosEntrada()->setIpServidor(cad);
	in>>cad;
	DatosEntrada::InstanceDatosEntrada()->setIpCliente(cad);
	in>>cad;
	DatosEntrada::InstanceDatosEntrada()->setArchivo(cad);
	in>>cad;
	DatosEntrada::InstanceDatosEntrada()->setPuerto(cad);
	in>>cad;
	DatosEntrada::InstanceDatosEntrada()->setInterface(cad);
	in.close();
}
void DatosEntrada::salvar(string nombre){
	fstream salida;
	salida.open(nombre.c_str(),ios::out | ios::binary);
	salida<<DatosEntrada::InstanceDatosEntrada()->getIpServidor()<<endl;
	salida<<DatosEntrada::InstanceDatosEntrada()->getIpCliente()<<endl;
	salida<<DatosEntrada::InstanceDatosEntrada()->getArchivo()<<endl;



	if(!DatosEntrada::InstanceDatosEntrada()->getPuerto().empty()){
			salida<<DatosEntrada::InstanceDatosEntrada()->getPuerto()<<endl;
	}
	else{
			salida<<80<<endl;
	}
	if(!DatosEntrada::InstanceDatosEntrada()->getInterface().empty()){
			salida<<DatosEntrada::InstanceDatosEntrada()->getInterface()<<endl;
	}
	else{
			salida<<"any"<<endl;
	}
}

DatosEntrada::~DatosEntrada() {
	// TODO Auto-generated destructor stub
}
